package org.chen.service.impl;

import java.util.List;

import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.bao.db.DBProvider;
import org.bao.utils.MyUtils;
import org.chen.bean.UserReceiptAddressBean;
import org.chen.service.IRecAddressService;

public class RecAddressServiceImpl implements IRecAddressService {

	/**
	 * 查询用户收货地址
	 */
	@Override
	public List<UserReceiptAddressBean> queryRecAddressMsg(UserReceiptAddressBean UserRecB) {
		// 调用db层进行数据库操作
		// 登录查询语句
		String sql = "select * from USERRECEIPTADDRESS where usertel = ?  ";
		// 调用db层进行数据库查询操作
		List<UserReceiptAddressBean> strSql = MyUtils.getInstance(DBProvider.class).query(sql,
				new BeanListHandler<>(UserReceiptAddressBean.class), UserRecB.getUsertel());
		// 返回结果
		return strSql;
	}

	/**
	 * 增加用户收货地址
	 */
	@Override
	public  int addRecAddress(UserReceiptAddressBean UserRecB) {
		// 默认返回值
		int i = 0;
		// 新增和修改的区别在于：参数实体类的主键字段是否为null，为null则是新增操作，不为null则是修改操作
		// 新增的sql语句
		if (UserRecB != null) {
			// 新增操作
			if (UserRecB.getUsertel() != null) {
				// 新增sql语句
				String strSql = "insert into userreceiptaddress(addressdetail,usertel,postcode,recname,rectel,recaddress) values(?,?,?,?,?,?)";
				// 调用db层进行数据库操作  
				i = MyUtils.getInstance(DBProvider.class).update(strSql, UserRecB.getAddressdetail(),UserRecB.getUsertel(),UserRecB.getPostcode(),UserRecB.getRecname(),UserRecB.getRectel(),UserRecB.getRecaddress());
			} else {
				// 修改(回复)操作
				// 修改sql语句
				String strSql = "update USERRECEIPTADDRESS set recname= ?,rectel = ?,postcode = ?,recaddress = ? WHERE usertel = ?";
				// 调用db层进行数据库操作
				i = MyUtils.getInstance(DBProvider.class).update(strSql, UserRecB.getRecname(), UserRecB.getRectel(),
						UserRecB.getPostcode(), UserRecB.getRecaddress());
			}
		}
		return i;
	}
	
	public  int DelUserAddress(UserReceiptAddressBean UserRecB) {
		int i = 0;
		// 新增和修改的区别在于：参数实体类的主键字段是否为null，为null则是新增操作，不为null则是修改操作
		// 删除的sql语句
		if (UserRecB != null) {
			// 删除操作
			if (UserRecB.getAddressid() != null) {
				// 删除sql语句
				String strSql = "delete from USERRECEIPTADDRESS where addressid = ?";
				// 调用db层进行数据库操作
				i = MyUtils.getInstance(DBProvider.class).update(strSql, UserRecB.getAddressid());
			} else {
				// 修改操作
			}
		}
		return i;
	}


}
